home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / FIREKIT.ZIP / FLAMES.H < prev    next >
Text File  |  1996-05-27  |  2KB  |  46 lines

  1.  
  2. typedef struct
  3. {
  4.     long width;  // width of flame buffer.
  5.     long height; // height of flame buffer.
  6.     long fsize;  // number of bytes total in flame buffer.
  7.     long andmask; // and mask indicates how much extra fuel to throw in.
  8.     char *flame1; // frame 1 of flame buffer.
  9.     char *flame2; // frame 2 of flame buffer.
  10.     long *jitter; // 512 byte jitter table used to mix the fuel feeder in.
  11.     long seed;        // current random number seed.
  12.     long fheight; // This is the flame height counter, controls the rate of flame decay
  13.     long fuel; // the controls the strength of the fuel dump.
  14.     long fuelbase; // this is the fuel feeder strength.
  15.     long fire8; // true if doing 8 pixel average for flames.
  16.     long ScreenX; // destination X for flamecopy.
  17.     long ScreenY; // destination Y for flamecopy
  18.     char ctrans[256];  //the color palette translation table if used.
  19. } FLAMESPEC;
  20.  
  21. //**!! NOTE !! This data structure matches *EXACTLY* the data structure
  22. // in FLAMES.ASM.  If you change this data structure in any way it will
  23. // NOT WORK unless you make the exact corresponding changes to the version
  24. // of the FLAMESPEC structure in FLAMES.ASM
  25.  
  26.  
  27. // These are DOS only functions!    They handle support for going directly
  28. // to the Mode 13 320x200 VGA screen.  Under Windows you should use directdraw
  29. // WinG or something else to update your blits.
  30. void cdecl FlameStart(void); // turn 320x200 graphics mode on and set palette (DOS only)
  31. void cdecl FlameCopy(FLAMESPEC *f); // copy flame to VGA mode 13 screen.
  32. void cdecl FlameStop(void); // turn 320x200 graphics mode off (DOS only)
  33. void cdecl FlameZeroScreen(void); //erase screen.
  34. void cdecl FlameImage(char *image); // copy vga screen image.
  35. void cdecl FlameDAC(char *pal); // set vga color palette.
  36. void cdecl FlamePal(char *fpal); // set flame palette, and retrieve settings.
  37.  
  38. // This routine has self-modified code in it!  Under Windows this will
  39. // cause a protection fault unless you change the read/write access to
  40. // this section of memory!
  41. void cdecl FlameFrame(FLAMESPEC *f);
  42. long cdecl FlameClosestColor(char *pal,long red,long green,long blue);
  43. void cdecl FlameCopyTranslate(FLAMESPEC *f,char *image);
  44. // copy flame and translate it against the translucency table.
  45.  
  46.